package cn.ydxiaoshaui.aip.imageclassify.bean;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.serializer.SerializerFeature;

import java.io.Serializable;

/**
 * @Description 红酒识别
 * @author 小帅丶
 * @className RedwineDetect
 * @Date 2019/9/26
 **/
public class RedwineDetect implements Serializable {
    private static final long serialVersionUID = 1L;

    /** 唯一的log id，用于问题定位 */
    private Long log_id;
    /** 识别结果 */
    private Result result;

    public Long getLog_id() {
        return log_id;
    }

    public void setLog_id(Long log_id) {
        this.log_id = log_id;
    }

    public Result getResult() {
        return result;
    }

    public void setResult(Result result) {
        this.result = result;
    }

    private static class Result{
        /** 判断是否返回详细信息（除红酒中文名之外的其他字段），含有返回1，不含有返回0 */
        private Integer hasdetail;
        /** 红酒中文名，无法识别返回空 */
        private String wineNameCn;
        /** 红酒英文名，hasdetail = 0时，表示无法识别，该字段不返回 */
        private String wineNameEn;
        /** 国家中文名，hasdetail = 0时，表示无法识别，该字段不返回 */
        private String countryCn;
        /** 国家英文名，hasdetail = 0时，表示无法识别，该字段不返回 */
        private String countryEn;
        /** 产区中文名，hasdetail = 0时，表示无法识别，该字段不返回 */
        private String regionCn;
        /** 产区英文名，hasdetail = 0时，表示无法识别，该字段不返回 */
        private String regionEn;
        /** 子产区中文名，hasdetail = 0时，表示无法识别，该字段不返回 */
        private String subRegionCn;
        /** 子产区英文名，hasdetail = 0时，表示无法识别，该字段不返回 */
        private String subRegionEn;
        /** 酒庄中文名，hasdetail = 0时，表示无法识别，该字段不返回 */
        private String wineryCn;
        /** 酒庄英文名，hasdetail = 0时，表示无法识别，该字段不返回 */
        private String wineryEn;
        /** 酒类型，hasdetail = 0时，表示无法识别，该字段不返回 */
        private String classifyByColor;
        /** 糖分类型，hasdetail = 0时，表示无法识别，该字段不返回 */
        private String classifyBySugar;
        /** 色泽，hasdetail = 0时，表示无法识别，该字段不返回 */
        private String color;
        /** 葡萄品种，可能有多种葡萄，hasdetail = 0时，表示无法识别，该字段不返回 */
        private String grapeCn;
        /** 葡萄品种英文名，可能有多种葡萄，hasdetail = 0时，表示无法识别，该字段不返回 */
        private String grapeEn;
        /** 品尝温度，hasdetail = 0时，表示无法识别，该字段不返回 */
        private String tasteTemperature;
        /** 酒品描述，hasdetail = 0时，表示无法识别，该字段不返回 */
        private String description;

        public Integer getHasdetail() {
            return hasdetail;
        }

        public void setHasdetail(Integer hasdetail) {
            this.hasdetail = hasdetail;
        }

        public String getWineNameCn() {
            return wineNameCn;
        }

        public void setWineNameCn(String wineNameCn) {
            this.wineNameCn = wineNameCn;
        }

        public String getWineNameEn() {
            return wineNameEn;
        }

        public void setWineNameEn(String wineNameEn) {
            this.wineNameEn = wineNameEn;
        }

        public String getCountryCn() {
            return countryCn;
        }

        public void setCountryCn(String countryCn) {
            this.countryCn = countryCn;
        }

        public String getCountryEn() {
            return countryEn;
        }

        public void setCountryEn(String countryEn) {
            this.countryEn = countryEn;
        }

        public String getRegionCn() {
            return regionCn;
        }

        public void setRegionCn(String regionCn) {
            this.regionCn = regionCn;
        }

        public String getRegionEn() {
            return regionEn;
        }

        public void setRegionEn(String regionEn) {
            this.regionEn = regionEn;
        }

        public String getSubRegionCn() {
            return subRegionCn;
        }

        public void setSubRegionCn(String subRegionCn) {
            this.subRegionCn = subRegionCn;
        }

        public String getSubRegionEn() {
            return subRegionEn;
        }

        public void setSubRegionEn(String subRegionEn) {
            this.subRegionEn = subRegionEn;
        }

        public String getWineryCn() {
            return wineryCn;
        }

        public void setWineryCn(String wineryCn) {
            this.wineryCn = wineryCn;
        }

        public String getWineryEn() {
            return wineryEn;
        }

        public void setWineryEn(String wineryEn) {
            this.wineryEn = wineryEn;
        }

        public String getClassifyByColor() {
            return classifyByColor;
        }

        public void setClassifyByColor(String classifyByColor) {
            this.classifyByColor = classifyByColor;
        }

        public String getClassifyBySugar() {
            return classifyBySugar;
        }

        public void setClassifyBySugar(String classifyBySugar) {
            this.classifyBySugar = classifyBySugar;
        }

        public String getColor() {
            return color;
        }

        public void setColor(String color) {
            this.color = color;
        }

        public String getGrapeCn() {
            return grapeCn;
        }

        public void setGrapeCn(String grapeCn) {
            this.grapeCn = grapeCn;
        }

        public String getGrapeEn() {
            return grapeEn;
        }

        public void setGrapeEn(String grapeEn) {
            this.grapeEn = grapeEn;
        }

        public String getTasteTemperature() {
            return tasteTemperature;
        }

        public void setTasteTemperature(String tasteTemperature) {
            this.tasteTemperature = tasteTemperature;
        }

        public String getDescription() {
            return description;
        }

        public void setDescription(String description) {
            this.description = description;
        }
    }
    @Override
    public String toString() {
        return JSON.toJSONString(this, new SerializerFeature[] {
                SerializerFeature.WriteMapNullValue,
                SerializerFeature.WriteNullListAsEmpty,
                SerializerFeature.WriteNullStringAsEmpty,
                SerializerFeature.WriteNullNumberAsZero,
                SerializerFeature.WriteNullBooleanAsFalse,
                SerializerFeature.UseISO8601DateFormat });
    }
}
